#ifndef __INFRA_TINY_BLOCK_H__
#define __INFRA_TINY_BLOCK_H__

#include <linux/types.h>

#include "infra_comm.h"
#include "infra_dl_list.h"

typedef void *infra_tb_handle;

#ifdef __cplusplus
extern "C" {
#endif

infra_tb_handle infra_tb_create(uint32_t num, uint32_t size, bool is_lock, const char *token);
int32_t infra_tb_destroy(infra_tb_handle handle);

void *infra_tb_get(infra_tb_handle handle);
int32_t infra_tb_giveback(infra_tb_handle handle, void *blk);

#ifdef __cplusplus
}
#endif

#endif /* __INFRA_TINY_BLOCK_H__ */